home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 1.iso / dist / fw_ddd.idb / usr / freeware / share / ddd-3.3.1 / vsllib / arcs.vsl.z / arcs.vsl
Text File  |  2001-10-09  |  2KB  |  68 lines

  1. // $Id: arcs.vsl,v 1.1 2000/06/09 09:27:23 andreas Exp $
  2. // Arcs and steep lines for VSL
  3.  
  4. // Copyright (C) 1993 Technische Universitaet Braunschweig, Germany.
  5. // Written by Andreas Zeller <zeller@gnu.org>.
  6. // 
  7. // This file is part of DDD.
  8. // 
  9. // DDD is free software; you can redistribute it and/or
  10. // modify it under the terms of the GNU General Public
  11. // License as published by the Free Software Foundation; either
  12. // version 2 of the License, or (at your option) any later version.
  13. // 
  14. // DDD is distributed in the hope that it will be useful,
  15. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  17. // See the GNU General Public License for more details.
  18. // 
  19. // You should have received a copy of the GNU General Public
  20. // License along with DDD -- see the file COPYING.
  21. // If not, write to the Free Software Foundation, Inc.,
  22. // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  23. // 
  24. // DDD is the data display debugger.
  25. // For details, see the DDD World-Wide-Web page, 
  26. // `http://www.gnu.org/software/ddd/',
  27. // or send a mail to the DDD developers <ddd@gnu.org>.
  28.  
  29. // Version
  30. arcs_version() = "$Id: arcs.vsl,v 1.1 2000/06/09 09:27:23 andreas Exp $";
  31.  
  32. // Synonyms
  33. arcthickness() = rulethickness();
  34. arc(start, length) = arc(start, length, arcthickness());
  35.  
  36. // Makros
  37. // Arcs
  38. arc360() = arc(0, 360);
  39. arc180(start) = arc(start, 180);
  40. arc90(start) = arc(start, 90);
  41.  
  42. ne_arc90() = arc90(0);
  43. nw_arc90() = arc90(90);
  44. sw_arc90() = arc90(180);
  45. se_arc90() = arc90(270);
  46.  
  47. n_arc180() = arc180(0);
  48. w_arc180() = arc180(90);
  49. s_arc180() = arc180(180);
  50. e_arc180() = arc180(270);
  51.  
  52. // Ovals
  53. _ovalbody(box) = fix(hrule() | box | hrule());
  54. _oval(box) = 
  55.   fix(w_arc180() ^ (square(vspace(box) - 1) / box(2,1)))
  56. & box 
  57. & fix(e_arc180() ^ (square(vspace(box) - 1) / box(2,1)));
  58. oval(box) = _oval(_ovalbody(whiteframe(box)));
  59.  
  60. // Ellipses
  61. ellipse() = arc360();
  62. _ellipse(box) = fix((space(box) * 2) ^ ellipse() ^ center(box));
  63. ellipse(box) = _ellipse(whiteframe(box, arcthickness() + whitethickness()));
  64.  
  65. // Circles
  66. _circle(box) = fix(square(box) ^ ellipse() ^ center(box));
  67. circle(box) = _circle(whiteframe(box, arcthickness() + whitethickness()));
  68.